const path = require('path')


const Koa = require('koa')
const { koaBody } = require('koa-body');
const koaStatic = require('koa-static')
// const Router = require('koa-router')

const router = require('../router/index')
//响应错误
const errHandler = require('../app/errHandler');
//参数校验
const parameter = require('koa-parameter');

const app = new Koa();

// console.log(process.cwd());

app.use(parameter(app))

// console.log(path.join(__dirname, '../upload'));
app.use(koaBody({
    //开启文件上传
    multipart: true,
    formidable: {
        // 配置选项 不推荐 写相对路径
        // 在options里的相对路径,不是相对的 当前文件  相对当前process.cwd() 当前运行进程运行路径
        uploadDir: path.join(__dirname, '../upload'),
        keepExtensions: true
    }
}))
//文件上传
app.use(koaStatic(path.join(__dirname, '../upload')))

//仅限允许的方法

app.use(router.routes()).use(router.allowedMethods())
//统一错误处理
app.on('error', errHandler)

module.exports = app